package com.aaa.controller;

import com.aaa.entity.NoticeInfo;
import com.aaa.entity.R;
import com.aaa.mapper.NoticeInfoMapper;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 消息通知
 */
@RestController
@RequestMapping("/noticeInfo")
public class NoticeInfoController {

    @Resource
    private NoticeInfoMapper mapper;

    /**
     * 查询
     */
    @RequestMapping("/select")
    public Map<String, Object> AreaList(NoticeInfo noticeInfo, Integer page, Integer limit) {
        PageHelper.startPage(page, limit);
        List<NoticeInfo> list = mapper.select(noticeInfo);
        PageInfo<NoticeInfo> pageInfo = new PageInfo<>(list);
        Map<String, Object> tableData = new HashMap<>();
        //这是layui要求返回的json数据格式
        tableData.put("code", 0);
        tableData.put("msg", "");
        //将全部数据的条数作为count传给前台（一共多少条）
        tableData.put("count", pageInfo.getTotal());
        //将分页后的数据返回（每页要显示的数据）
        tableData.put("data", pageInfo.getList());

        return tableData;
    }

    /**
     * 新增
     */
    @PostMapping("/insert")
    public R insert(@RequestBody NoticeInfo noticeInfo) {
        noticeInfo.setCreateTime(new Date());
        int i = mapper.insert(noticeInfo);

        return i > 0 ? R.ok() : R.error();

    }

    /**
     * 修改
     */
    @PostMapping("/update")
    public R update(@RequestBody NoticeInfo noticeInfo) {
        int i = mapper.update(noticeInfo);

        return i > 0 ? R.ok() : R.error();

    }

    /**
     * 删除
     */
    @PostMapping("/delete")
    public Object delete(@RequestParam("id") Integer id) {
        int i = mapper.delete(id);
        return i > 0 ? R.ok() : R.error();
    }
}
